Computer graphics systems are known to include, for example, processors, memory and display devices. With ever increasing advances in computer applications, the need for improved display quality continues. High resolution display devices, for example, computer displays, high definition televisions (HDTV), projectors, and the like must be able to present high resolution, high quality images at rapid refresh rates. Video graphics circuits and systems must also be able to provide the data for such displays efficiently and effectively, often within highly competitive cost and compatibility restraints.
High resolution devices present an image to the viewer as an array of individual picture elements, or pixels. The pixels are each given a specific characteristic, for example, the color of the image at the particular pixel's location. The pixels are closely spaced relative to one another and the corresponding display filters the individual pixel color values to form a composite image. If the pixel filtering is performed properly, the viewer perceives the displayed array of pixels as a virtually continuous image. However, despite the filtering, the viewer remains sensitive to aberrations (e.g. color differences) in the image, and graphics systems must be designed to minimize these aberrations. Visual aberrations may result, for example, when the image is insufficiently sampled.
Aliasing occurs whenever the pixel sampling rate is significantly less than the highest frequency change in an image. A highly detailed image with numerous changes within a short time span will have a high frequency of change; a blank image has a zero frequency of change. If the frequency of pixel value sampling, for example, is less than twice the image's frequency of change, aliasing will occur and visual aberrations, such as improper or distorted coloring, will be introduced into the image. In addition to improper or distorted coloring, sampling artifacts may be introduced into the image.
Multisampling and super-sampling are two techniques used to provide order independent antialiasing. In super-sampling, multiple colors are computed per pixel. A drawback associated with super-sampling is that it is computationally extensive and requires a substantial amount of memory to implement. For example, if there are eight samples per pixel, super-sampling requires computing and storing eight colors per pixel. In typical applications the number of samples may be quite large (e.g. greater than eight samples); thus, conventional super-sampling techniques require a memory large enough to maintain eight colors per pixel. The larger the memory, the greater the associated cost of the graphics system.
Multisampling provides for computing a single color per pixel, together with a mask of the sample positions within the pixel that are covered by the primitive being rendered. This reduces the computation required to determine pixel color. However, conventional multisampling techniques typically require a large memory as at least eight samples per pixel must be stored in the memory before the color associated with a particular pixel is determined. As memory is typically the most expensive portion of a graphics processing system, the larger memory required by multisampling results in the underlying graphics processing system being costly.